home *** CD-ROM | disk | FTP | other *** search
- seejpeg v1.6.1 $Id: README,v 1.6 1996/11/01 19:15:36 evan Exp $
-
- ------------------------------------------------------------------
- Copyright (C) 1993-1996 Evan Harris
-
- Permission is granted to freely redistribute and modify this code,
- providing the author(s) get credit for having written it.
- ------------------------------------------------------------------
-
- seejpeg is another JPEG viewer which utilizes svgalib and contains
- limited GIF, PPM, BMP and TARGA viewing support.
-
- The most useful feature of seejpeg is that it automatically decides on
- the "best" video mode to use based on the image being displayed and
- the video card being used. To aid it, various hints may be given as
- program options. In the worst case, it may be overridden.
-
- Video modes supported are limited to 1280x1024, 1024x768, 800x600,
- 640x480 and 320x200 in 256, 32K or 16M colours (assuming the video
- card, and svgalib, supports these modes). Logical screen sizes are
- only limited by the size of video memory.
-
- If the image is larger than the screen size the arrow keys may be used
- to scroll around that part of the image which could be loaded into
- video memory. The Backspace key can be used to move to the previous
- image. Pressing any other key moves to the next image, or exits the
- program.
-
- ------------------------------------------------------------------
-
- Program options
- ===============
-
- -c CENTRE IMAGE
-
- If the image is smaller than the video mode, the image is
- centred on the screen.
-
- -q QUANTIZE PICTURE (256 colour mode) (JPEG only)
-
- This option forces the image to be quantized into a colour map
- with 256 entries, and subsequently seejpeg uses a 256 colour
- mode. If this option is not given seejpeg will not use a 256
- colour mode unless the TESTMODE is not available (see below)
- in which case it will implicitly set -q. The default
- quantization to use is two pass quantization - this is memory
- intensive and may cause the machine to page if the image is
- large or memory is small. This should be the only occasion in
- which seejpeg causes a machine to page.
-
- -1 ONE PASS QUANTIZATION (-q implicit) (JPEG only)
-
- As -q, except that it uses one pass quantization. This does
- not cause a machine to page, but the results are worse, unless
- the image is greyscale.
-
- -g FORCE GREYSCALE MODE (-1 implicit) (JPEG only)
-
- Display the image in greyscale. This is not necessary for an
- image compressed using the greyscale option on cjpeg as this
- mode will be set automatically. It can be used for images
- compressed without the greyscale flag, or for displaying
- colour images in greyscale.
-
- -v VERBOSE
-
- Display the video modes being used, the program version number
- and lots of other stuff. Without this option, seejpeg
- operates silently.
-
- -w ONLY USE WIDTH TO DETERMINE VIDEO MODE
-
- By default, the video mode chosen is the smallest one possible
- which is not smaller than the image. This may not be
- desirable for long, thin images. It may be preferable to
- choose the video mode based on the width only, rather than the
- width and height, in which case this option should be used.
-
- -f F SET FUZZ FACTOR TO DETERMINE VIDEO MODE
-
- A video mode is selected if it is larger than the image.
- Using this option allows a video mode to be selected if it is
- larger than (or equal to) F * image_width and F *
- image_height. Currently, F must be in the range [0.5,1.0].
- This option may be used in conjunction with -w to only use the
- image width.
-
- -F S FORCE THE USE OF THE GIVEN VIDEO MODE
-
- To completely override the video mode selection routines a
- video mode string (e.g. G640x480x32K) may be given instead.
- If this is a 256 colour mode, quantization (-q) is
- automatically selected.
-
- -dx DOUBLE THE SIZE OF THE IMAGE IN THE X DIRECTION
-
- -s T SHOW THE IMAGES IN A SLIDESHOW
-
- Each image is shown for T seconds. The images can be scrolled
- when being showed in a slideshow. The slideshow cannot be
- stopped or paused, except by the interrupt character
- (e.g. ^C).
-
- -C CYCLE THROUGH ALL IMAGES
-
- The program does not exit after showing all the images,
- instead it returns to the first image and shows them all
- again. Normally this can be stopped by pressing the Q key, at
- which point it will continue to show all images in the cycle
- and then stop. When showing the images in a slideshow this
- option will cause the slideshow to run forever (until
- interrupted by, e.g., ^C).
-
- -r RANDOMISE THE ORDER OF THE IMAGES
-
- The images are shown in a random order. If -C is specified, a
- new random order is selected on each cycle.
-
-
- In addition to colour and greyscale JPEG formats, GIF, PPM, BMP and
- TARGA image formats are supported to a limited degree. If the image
- is in GIF, PPM, BMP or TARGA format the -q, -1 and -g options are
- inoperative and, as a result, some video modes are not available for
- selection using -F.
-
- Unfortunately, due to a limitation in libjpeg, the GIF support has to
- perform its own colour map construction so it can use 256 colour
- modes. This may cause problems, although I haven't seen any yet. GIF
- support currently only uses 256 colour modes, however changing this
- should be easy, if the demand is there for it. GIF support has had
- limited testing.
-
- PPM support is barely tested. It uses 16M or 32K modes for colour
- images, and 256 modes for greyscale images.
-
- BMP and TARGA support is completely untested. The -targa option of
- cjpeg is not included in seejpeg, let me know if something like it is
- required.
-
- ------------------------------------------------------------------
-
- Compiling
- =========
-
- NOTE: The file jpeglib/libjpeg.a was compiled on an a.out system, not
- an ELF system. If you have an ELF system you should either get the
- JPEG v6 distribution and make libjpeg.a up yourself, or try to compile
- the shared library version (see below).
-
- This program was tested using version 1.2.7 of svgalib. It should
- also work with later versions.
-
- The following symbols can be defined in the Makefile:
-
- NO_32K_CASCADE If the best mode is available in 16M and 32K modes and
- the complete image doesn't fit in memory using the 16M
- mode, the 16M mode is discarded and 32K mode used instead.
- If you define this option this action does not happen.
- The only time I can think of this option being useful is
- if a video card supports 16M modes but not 32K modes.
-
- TESTMODE This video mode is tested for -
- If the video card supports it, we assume that hicolor or
- truecolor (32K or 16M) modes are available.
- If the video card doesn't support it, we assume that only
- 256 colour modes are supported.
- If this is not set in the Makefile, it is assumed to
- be G640x480x32K. If there is a video card which supports
- hicolor or truecolor but not this mode, let me know of
- a better default to test for and I'll change it in the
- next release.
-
- BUG_WORKAROUND Some versions of svgalib with some video cards can
- scramble the video mode when multiple files or
- slideshows are shown. This appears to be avoided
- somewhat if the text video mode is set between each
- picture. This is what the workaround does. This may
- not be needed for some versions of svgalib or some
- video cards. It is for my CLGD5426 based card with
- svgalib 1.06. This option is defined by default in
- the makefile.
-
- Unless you change one of these options, or the default binary
- location, changing the Makefile should no longer be necessary.
-
- PIX_ALIGN is no longer set in the Makefile. If you wish to try
- different a value for it, see chiptype_init() in display.c. If you
- lower PIX_ALIGN and it works, send me the changes.
-
- You can build a version of seejpeg which uses the libjpeg-6 shared
- libraries (or even a version of libgr with the v6 JPEG libraries).
- This shared library is NOT included with seejpeg. It is available on
- sunsite in /pub/Linux/libs, amongst others. I have tested it, and it
- does work. Note that you may need to adjust the GRHEADERS definition
- in the Makefile to find the JPEG header files. The headers in jpeglib
- should not be used, in case they are different.
-
- The current release has not been tested (by me) on an a.out system,
- although the library in jpeglib is an a.out one.
-
- ------------------------------------------------------------------
-
- Acknowledgements
- ================
-
- The following people have contributed to the development of seejpeg.
- Thanks everyone.
-
- Harm Hanemaayer <hhanemaa@cs.ruu.nl>
- ongoing svgalib development, putting up with lots of silly
- questions, providing lots of useful information, and a makefile
- bug report
- <wolter@wppc9.oz.au>
- Jean-Francois Cordeau <cordeauj@jsp.umontreal.ca>
- Peter Mutsaers <muts@compi.hobby.nl>
- <ahughes@muddcs.cs.hmc.edu>
- makefile bug report in 1.0
- Jeff Grills <jefftep@cs.utexas.edu>
- colour lookup (256 colour mode) bug report in 1.2
- Michael Weller <eowmob@exp-math.uni-essen.de>
- PIX_ALIGN patches against 1.1, prompting to add multiple
- images and the slideshow
- Nils Rennebarth <nils@exp-math.uni-essen.de>
- described how to compile with libgr-1.3 cleanly
- Lord Maximilien <lordmax@ix.netcom.com>
- helped fixed Trident 800x600 problems, suggested the new options
- which were added in 1.6
-
- ------------------------------------------------------------------
-
- Feedback
- ========
-
- The current version was compiled and tested with svgalib version 1.2.7
- and a 1MB CLGD5426 based video card. There are no known bugs with
- this configuration (in seejpeg, that is 8-). If you find a bug with
- any configuration please report it, including all the information
- displayed using the "-v" option.
-
- As of version 1.2, I have considered seejpeg "finished". Future
- releases will primarily be bug and compatibility fixes, although new
- features may be added as well (as they were in 1.4, 1.5 and 1.6).
-
- Please send any feedback, especially bug reports, to:
-
- Evan Harris (evan@cs.mu.oz.au)
-